#ifndef KNN_H_INCLUDED
#define KNN_H_INCLUDED
#include <vector>
#include <map>
#include "ppcustomermovie.h"
#include "print2file.h"

class kNN{
    map<int, map<int, short> > custPredictTest;
    ppcustomermovie customermovie;
    print2file outfile;
    public:
    kNN(string strDirName, string outFileName);
    void predictnTestK(int K, vector<int> train, vector<int> test, short nMovieID, int numprocs, int ID);
    void kFoldXValidation(int k, vector<short> vecMovieIDs, int K, int numprocs, int ID);
    void findNearest(int numprocs, int rank, int K);
    void printPrediction();
};

#endif // KNN_H_INCLUDED
